package dao;

import java.util.List;

import javax.ejb.Remote;

import dto.CandidateDTO;
import dto.EmployeeDTO;

@Remote
public interface EmployeeDAORemote {

	List<EmployeeDTO> getAllTesters();

	void addEmployee(EmployeeDTO employee);

	EmployeeDTO findEmployeeByUsernameAndPassword(EmployeeDTO employeeDTO);

	EmployeeDTO getEmployeeByEmailAndUsername(String email, String username);

	void updateEmployee(EmployeeDTO oldEmployee, EmployeeDTO newEmployee);

	List<EmployeeDTO> getAllTestersWithInterviews() throws Exception;

	void deleteEmployee(EmployeeDTO eDTO) throws Exception;

	List<CandidateDTO> getAllCandidatesAllocatedForTester(EmployeeDTO eDTO)
			throws Exception;

	List<CandidateDTO> getAllUnallocatedCandidates() throws Exception;

	List<CandidateDTO> getAllocatedCandidates() throws Exception;

	EmployeeDTO getEmployeeById(int id);

	List<EmployeeDTO> getAllAdmins();

	EmployeeDTO getEmployeeByEmail(String email);
}
